<?xml version="1.0" encoding="UTF-8"?>
<dxl:DXLMessage xmlns:dxl="http://greenplum.com/dxl/2010/12/">
  <dxl:Comment><![CDATA[
    Objective: Ensure that join on a view with a cast'd column can still be
    considered for predicate push down, even with a subquery in the predicate.
    In the following scenario, the filter should end up beneath the join.

    Setup:
      CREATE TABLE foo ( a text, b text);
      CREATE TABLE bar ( c text, d text);
      CREATE VIEW foobar AS SELECT foo.b::character varying(100) AS b, foo.a, bar.c, bar.d FROM foo JOIN bar ON foo.a = bar.c;
      EXPLAIN SELECT * FROM foobar WHERE (select b limit 1) = 'meh';

                                                      QUERY PLAN
      ----------------------------------------------------------------------------------------------------------
       Gather Motion 3:1  (slice1; segments: 3)  (cost=0.00..883119.30 rows=1 width=32)
         ->  Hash Join  (cost=0.00..883119.30 rows=1 width=32)
               Hash Cond: (foo.a = bar.c)
               ->  Seq Scan on foo  (cost=0.00..882688.30 rows=1 width=16)
                     Filter: (SubPlan 1)
                     SubPlan 1
                       ->  Result  (cost=0.00..0.00 rows=1 width=8)
                             Filter: ((("varchar"((foo.b)::character varying, 104, true)))::text = 'meh'::text)
                             ->  Limit  (cost=0.00..0.00 rows=1 width=8)
                                   ->  Result  (cost=0.00..0.00 rows=1 width=1)
               ->  Hash  (cost=431.00..431.00 rows=1 width=16)
                     ->  Seq Scan on bar  (cost=0.00..431.00 rows=1 width=16)
       Optimizer: Pivotal Optimizer (GPORCA)
  ]]>
  </dxl:Comment>
  <dxl:Thread Id="0">
    <dxl:OptimizerConfig>
      <dxl:EnumeratorConfig Id="0" PlanSamples="0" CostThreshold="0"/>
      <dxl:StatisticsConfig DampingFactorFilter="0.750000" DampingFactorJoin="0.000000" DampingFactorGroupBy="0.750000" MaxStatsBuckets="100"/>
      <dxl:CTEConfig CTEInliningCutoff="0"/>
      <dxl:WindowOids RowNumber="3100" Rank="3101"/>
      <dxl:CostModelConfig CostModelType="1" SegmentsForCosting="3">
        <dxl:CostParams>
          <dxl:CostParam Name="NLJFactor" Value="1024.000000" LowerBound="1023.500000" UpperBound="1024.500000"/>
        </dxl:CostParams>
      </dxl:CostModelConfig>
      <dxl:Hint JoinArityForAssociativityCommutativity="18" ArrayExpansionThreshold="100" JoinOrderDynamicProgThreshold="10" BroadcastThreshold="100000" EnforceConstraintsOnDML="false" PushGroupByBelowSetopThreshold="10" XformBindThreshold="0"/>
      <dxl:TraceFlags Value="102001,102002,102003,102043,102074,102120,102144,103001,103014,103022,103026,103027,103029,103033,103038,103040,104002,104003,104004,104005,105000,106000"/>
    </dxl:OptimizerConfig>
    <dxl:Metadata SystemIds="0.GPDB">
      <dxl:RelationStatistics Mdid="2.57351.1.0" Name="bar" Rows="0.000000" RelPages="0" RelAllVisible="0" EmptyRelation="true"/>
      <dxl:Relation Mdid="6.57351.1.0" Name="bar" IsTemporary="false" HasOids="false" StorageType="Heap" DistributionPolicy="Hash" DistributionColumns="0" Keys="8,2" NumberLeafPartitions="0">
        <dxl:Columns>
          <dxl:Column Name="c" Attno="1" Mdid="0.25.1.0" Nullable="true" ColWidth="8">
            <dxl:DefaultValue/>
          </dxl:Column>
          <dxl:Column Name="d" Attno="2" Mdid="0.25.1.0" Nullable="true" ColWidth="8">
            <dxl:DefaultValue/>
          </dxl:Column>
          <dxl:Column Name="ctid" Attno="-1" Mdid="0.27.1.0" Nullable="false" ColWidth="6">
            <dxl:DefaultValue/>
          </dxl:Column>
          <dxl:Column Name="xmin" Attno="-2" Mdid="0.28.1.0" Nullable="false" ColWidth="4">
            <dxl:DefaultValue/>
          </dxl:Column>
          <dxl:Column Name="cmin" Attno="-3" Mdid="0.29.1.0" Nullable="false" ColWidth="4">
            <dxl:DefaultValue/>
          </dxl:Column>
          <dxl:Column Name="xmax" Attno="-4" Mdid="0.28.1.0" Nullable="false" ColWidth="4">
            <dxl:DefaultValue/>
          </dxl:Column>
          <dxl:Column Name="cmax" Attno="-5" Mdid="0.29.1.0" Nullable="false" ColWidth="4">
            <dxl:DefaultValue/>
          </dxl:Column>
          <dxl:Column Name="tableoid" Attno="-6" Mdid="0.26.1.0" Nullable="false" ColWidth="4">
            <dxl:DefaultValue/>
          </dxl:Column>
          <dxl:Column Name="gp_segment_id" Attno="-7" Mdid="0.23.1.0" Nullable="false" ColWidth="4">
            <dxl:DefaultValue/>
          </dxl:Column>
        </dxl:Columns>
        <dxl:IndexInfoList/>
        <dxl:Triggers/>
        <dxl:CheckConstraints/>
        <dxl:DistrOpfamilies>
          <dxl:DistrOpfamily Mdid="0.1995.1.0"/>
        </dxl:DistrOpfamilies>
      </dxl:Relation>
      <dxl:RelationStatistics Mdid="2.57345.1.0" Name="foo" Rows="0.000000" RelPages="0" RelAllVisible="0" EmptyRelation="true"/>
      <dxl:Relation Mdid="6.57345.1.0" Name="foo" IsTemporary="false" HasOids="false" StorageType="Heap" DistributionPolicy="Hash" DistributionColumns="0" Keys="8,2" NumberLeafPartitions="0">
        <dxl:Columns>
          <dxl:Column Name="a" Attno="1" Mdid="0.25.1.0" Nullable="true" ColWidth="8">
            <dxl:DefaultValue/>
          </dxl:Column>
          <dxl:Column Name="b" Attno="2" Mdid="0.25.1.0" Nullable="true" ColWidth="8">
            <dxl:DefaultValue/>
          </dxl:Column>
          <dxl:Column Name="ctid" Attno="-1" Mdid="0.27.1.0" Nullable="false" ColWidth="6">
            <dxl:DefaultValue/>
          </dxl:Column>
          <dxl:Column Name="xmin" Attno="-2" Mdid="0.28.1.0" Nullable="false" ColWidth="4">
            <dxl:DefaultValue/>
          </dxl:Column>
          <dxl:Column Name="cmin" Attno="-3" Mdid="0.29.1.0" Nullable="false" ColWidth="4">
            <dxl:DefaultValue/>
          </dxl:Column>
          <dxl:Column Name="xmax" Attno="-4" Mdid="0.28.1.0" Nullable="false" ColWidth="4">
            <dxl:DefaultValue/>
          </dxl:Column>
          <dxl:Column Name="cmax" Attno="-5" Mdid="0.29.1.0" Nullable="false" ColWidth="4">
            <dxl:DefaultValue/>
          </dxl:Column>
          <dxl:Column Name="tableoid" Attno="-6" Mdid="0.26.1.0" Nullable="false" ColWidth="4">
            <dxl:DefaultValue/>
          </dxl:Column>
          <dxl:Column Name="gp_segment_id" Attno="-7" Mdid="0.23.1.0" Nullable="false" ColWidth="4">
            <dxl:DefaultValue/>
          </dxl:Column>
        </dxl:Columns>
        <dxl:IndexInfoList/>
        <dxl:Triggers/>
        <dxl:CheckConstraints/>
        <dxl:DistrOpfamilies>
          <dxl:DistrOpfamily Mdid="0.1995.1.0"/>
        </dxl:DistrOpfamilies>
      </dxl:Relation>
      <dxl:ColumnStatistics Mdid="1.57351.1.0.0" Name="c" Width="8.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
      <dxl:Type Mdid="0.16.1.0" Name="bool" IsRedistributable="true" IsHashable="true" IsMergeJoinable="true" IsComposite="false" IsTextRelated="false" IsFixedLength="true" Length="1" PassByValue="true">
        <dxl:DistrOpfamily Mdid="0.2222.1.0"/>
        <dxl:LegacyDistrOpfamily Mdid="0.7124.1.0"/>
        <dxl:EqualityOp Mdid="0.91.1.0"/>
        <dxl:InequalityOp Mdid="0.85.1.0"/>
        <dxl:LessThanOp Mdid="0.58.1.0"/>
        <dxl:LessThanEqualsOp Mdid="0.1694.1.0"/>
        <dxl:GreaterThanOp Mdid="0.59.1.0"/>
        <dxl:GreaterThanEqualsOp Mdid="0.1695.1.0"/>
        <dxl:ComparisonOp Mdid="0.1693.1.0"/>
        <dxl:ArrayType Mdid="0.1000.1.0"/>
        <dxl:MinAgg Mdid="0.0.0.0"/>
        <dxl:MaxAgg Mdid="0.0.0.0"/>
        <dxl:AvgAgg Mdid="0.0.0.0"/>
        <dxl:SumAgg Mdid="0.0.0.0"/>
        <dxl:CountAgg Mdid="0.2147.1.0"/>
      </dxl:Type>
      <dxl:Type Mdid="0.1043.1.0" Name="varchar" IsRedistributable="true" IsHashable="true" IsMergeJoinable="true" IsComposite="false" IsTextRelated="true" IsFixedLength="false" Length="-1" PassByValue="false">
        <dxl:DistrOpfamily Mdid="0.1995.1.0"/>
        <dxl:LegacyDistrOpfamily Mdid="0.7105.1.0"/>
        <dxl:EqualityOp Mdid="0.98.1.0"/>
        <dxl:InequalityOp Mdid="0.531.1.0"/>
        <dxl:LessThanOp Mdid="0.664.1.0"/>
        <dxl:LessThanEqualsOp Mdid="0.665.1.0"/>
        <dxl:GreaterThanOp Mdid="0.666.1.0"/>
        <dxl:GreaterThanEqualsOp Mdid="0.667.1.0"/>
        <dxl:ComparisonOp Mdid="0.360.1.0"/>
        <dxl:ArrayType Mdid="0.1015.1.0"/>
        <dxl:MinAgg Mdid="0.0.0.0"/>
        <dxl:MaxAgg Mdid="0.0.0.0"/>
        <dxl:AvgAgg Mdid="0.0.0.0"/>
        <dxl:SumAgg Mdid="0.0.0.0"/>
        <dxl:CountAgg Mdid="0.2147.1.0"/>
      </dxl:Type>
      <dxl:Type Mdid="0.20.1.0" Name="Int8" IsRedistributable="true" IsHashable="true" IsMergeJoinable="true" IsComposite="false" IsTextRelated="false" IsFixedLength="true" Length="8" PassByValue="true">
        <dxl:DistrOpfamily Mdid="0.1977.1.0"/>
        <dxl:LegacyDistrOpfamily Mdid="0.7100.1.0"/>
        <dxl:EqualityOp Mdid="0.410.1.0"/>
        <dxl:InequalityOp Mdid="0.411.1.0"/>
        <dxl:LessThanOp Mdid="0.412.1.0"/>
        <dxl:LessThanEqualsOp Mdid="0.414.1.0"/>
        <dxl:GreaterThanOp Mdid="0.413.1.0"/>
        <dxl:GreaterThanEqualsOp Mdid="0.415.1.0"/>
        <dxl:ComparisonOp Mdid="0.351.1.0"/>
        <dxl:ArrayType Mdid="0.1016.1.0"/>
        <dxl:MinAgg Mdid="0.2131.1.0"/>
        <dxl:MaxAgg Mdid="0.2115.1.0"/>
        <dxl:AvgAgg Mdid="0.2100.1.0"/>
        <dxl:SumAgg Mdid="0.2107.1.0"/>
        <dxl:CountAgg Mdid="0.2147.1.0"/>
      </dxl:Type>
      <dxl:Type Mdid="0.23.1.0" Name="int4" IsRedistributable="true" IsHashable="true" IsMergeJoinable="true" IsComposite="false" IsTextRelated="false" IsFixedLength="true" Length="4" PassByValue="true">
        <dxl:DistrOpfamily Mdid="0.1977.1.0"/>
        <dxl:LegacyDistrOpfamily Mdid="0.7100.1.0"/>
        <dxl:EqualityOp Mdid="0.96.1.0"/>
        <dxl:InequalityOp Mdid="0.518.1.0"/>
        <dxl:LessThanOp Mdid="0.97.1.0"/>
        <dxl:LessThanEqualsOp Mdid="0.523.1.0"/>
        <dxl:GreaterThanOp Mdid="0.521.1.0"/>
        <dxl:GreaterThanEqualsOp Mdid="0.525.1.0"/>
        <dxl:ComparisonOp Mdid="0.351.1.0"/>
        <dxl:ArrayType Mdid="0.1007.1.0"/>
        <dxl:MinAgg Mdid="0.2132.1.0"/>
        <dxl:MaxAgg Mdid="0.2116.1.0"/>
        <dxl:AvgAgg Mdid="0.2101.1.0"/>
        <dxl:SumAgg Mdid="0.2108.1.0"/>
        <dxl:CountAgg Mdid="0.2147.1.0"/>
      </dxl:Type>
      <dxl:MDCast Mdid="3.25.1.0;1043.1.0" Name="varchar" BinaryCoercible="true" SourceTypeId="0.25.1.0" DestinationTypeId="0.1043.1.0" CastFuncId="0.0.0.0" CoercePathType="0"/>
      <dxl:Type Mdid="0.25.1.0" Name="text" IsRedistributable="true" IsHashable="true" IsMergeJoinable="true" IsComposite="false" IsTextRelated="true" IsFixedLength="false" Length="-1" PassByValue="false">
        <dxl:DistrOpfamily Mdid="0.1995.1.0"/>
        <dxl:LegacyDistrOpfamily Mdid="0.7105.1.0"/>
        <dxl:EqualityOp Mdid="0.98.1.0"/>
        <dxl:InequalityOp Mdid="0.531.1.0"/>
        <dxl:LessThanOp Mdid="0.664.1.0"/>
        <dxl:LessThanEqualsOp Mdid="0.665.1.0"/>
        <dxl:GreaterThanOp Mdid="0.666.1.0"/>
        <dxl:GreaterThanEqualsOp Mdid="0.667.1.0"/>
        <dxl:ComparisonOp Mdid="0.360.1.0"/>
        <dxl:ArrayType Mdid="0.1009.1.0"/>
        <dxl:MinAgg Mdid="0.2145.1.0"/>
        <dxl:MaxAgg Mdid="0.2129.1.0"/>
        <dxl:AvgAgg Mdid="0.0.0.0"/>
        <dxl:SumAgg Mdid="0.0.0.0"/>
        <dxl:CountAgg Mdid="0.2147.1.0"/>
      </dxl:Type>
      <dxl:Type Mdid="0.26.1.0" Name="oid" IsRedistributable="true" IsHashable="true" IsMergeJoinable="true" IsComposite="false" IsTextRelated="false" IsFixedLength="true" Length="4" PassByValue="true">
        <dxl:DistrOpfamily Mdid="0.1990.1.0"/>
        <dxl:LegacyDistrOpfamily Mdid="0.7109.1.0"/>
        <dxl:EqualityOp Mdid="0.607.1.0"/>
        <dxl:InequalityOp Mdid="0.608.1.0"/>
        <dxl:LessThanOp Mdid="0.609.1.0"/>
        <dxl:LessThanEqualsOp Mdid="0.611.1.0"/>
        <dxl:GreaterThanOp Mdid="0.610.1.0"/>
        <dxl:GreaterThanEqualsOp Mdid="0.612.1.0"/>
        <dxl:ComparisonOp Mdid="0.356.1.0"/>
        <dxl:ArrayType Mdid="0.1028.1.0"/>
        <dxl:MinAgg Mdid="0.2118.1.0"/>
        <dxl:MaxAgg Mdid="0.2134.1.0"/>
        <dxl:AvgAgg Mdid="0.0.0.0"/>
        <dxl:SumAgg Mdid="0.0.0.0"/>
        <dxl:CountAgg Mdid="0.2147.1.0"/>
      </dxl:Type>
      <dxl:Type Mdid="0.27.1.0" Name="tid" IsRedistributable="true" IsHashable="true" IsMergeJoinable="true" IsComposite="false" IsTextRelated="false" IsFixedLength="true" Length="6" PassByValue="false">
        <dxl:DistrOpfamily Mdid="0.2227.1.0"/>
        <dxl:LegacyDistrOpfamily Mdid="0.7110.1.0"/>
        <dxl:EqualityOp Mdid="0.387.1.0"/>
        <dxl:InequalityOp Mdid="0.402.1.0"/>
        <dxl:LessThanOp Mdid="0.2799.1.0"/>
        <dxl:LessThanEqualsOp Mdid="0.2801.1.0"/>
        <dxl:GreaterThanOp Mdid="0.2800.1.0"/>
        <dxl:GreaterThanEqualsOp Mdid="0.2802.1.0"/>
        <dxl:ComparisonOp Mdid="0.2794.1.0"/>
        <dxl:ArrayType Mdid="0.1010.1.0"/>
        <dxl:MinAgg Mdid="0.2798.1.0"/>
        <dxl:MaxAgg Mdid="0.2797.1.0"/>
        <dxl:AvgAgg Mdid="0.0.0.0"/>
        <dxl:SumAgg Mdid="0.0.0.0"/>
        <dxl:CountAgg Mdid="0.2147.1.0"/>
      </dxl:Type>
      <dxl:Type Mdid="0.29.1.0" Name="cid" IsRedistributable="true" IsHashable="true" IsMergeJoinable="false" IsComposite="false" IsTextRelated="false" IsFixedLength="true" Length="4" PassByValue="true">
        <dxl:DistrOpfamily Mdid="0.2226.1.0"/>
        <dxl:EqualityOp Mdid="0.385.1.0"/>
        <dxl:InequalityOp Mdid="0.0.0.0"/>
        <dxl:LessThanOp Mdid="0.0.0.0"/>
        <dxl:LessThanEqualsOp Mdid="0.0.0.0"/>
        <dxl:GreaterThanOp Mdid="0.0.0.0"/>
        <dxl:GreaterThanEqualsOp Mdid="0.0.0.0"/>
        <dxl:ComparisonOp Mdid="0.0.0.0"/>
        <dxl:ArrayType Mdid="0.1012.1.0"/>
        <dxl:MinAgg Mdid="0.0.0.0"/>
        <dxl:MaxAgg Mdid="0.0.0.0"/>
        <dxl:AvgAgg Mdid="0.0.0.0"/>
        <dxl:SumAgg Mdid="0.0.0.0"/>
        <dxl:CountAgg Mdid="0.2147.1.0"/>
      </dxl:Type>
      <dxl:Type Mdid="0.28.1.0" Name="xid" IsRedistributable="true" IsHashable="true" IsMergeJoinable="false" IsComposite="false" IsTextRelated="false" IsFixedLength="true" Length="4" PassByValue="true">
        <dxl:DistrOpfamily Mdid="0.2225.1.0"/>
        <dxl:EqualityOp Mdid="0.352.1.0"/>
        <dxl:InequalityOp Mdid="0.3315.1.0"/>
        <dxl:LessThanOp Mdid="0.0.0.0"/>
        <dxl:LessThanEqualsOp Mdid="0.0.0.0"/>
        <dxl:GreaterThanOp Mdid="0.0.0.0"/>
        <dxl:GreaterThanEqualsOp Mdid="0.0.0.0"/>
        <dxl:ComparisonOp Mdid="0.0.0.0"/>
        <dxl:ArrayType Mdid="0.1011.1.0"/>
        <dxl:MinAgg Mdid="0.0.0.0"/>
        <dxl:MaxAgg Mdid="0.0.0.0"/>
        <dxl:AvgAgg Mdid="0.0.0.0"/>
        <dxl:SumAgg Mdid="0.0.0.0"/>
        <dxl:CountAgg Mdid="0.2147.1.0"/>
      </dxl:Type>
      <dxl:GPDBFunc Mdid="0.669.1.0" Name="varchar" ReturnsSet="false" Stability="Immutable" DataAccess="NoSQL" IsStrict="true" IsNDVPreserving="false" IsAllowedForPS="false">
        <dxl:ResultType Mdid="0.1043.1.0"/>
      </dxl:GPDBFunc>
      <dxl:MDCast Mdid="3.25.1.0;25.1.0" Name="text" BinaryCoercible="true" SourceTypeId="0.25.1.0" DestinationTypeId="0.25.1.0" CastFuncId="0.0.0.0" CoercePathType="0"/>
      <dxl:ColumnStatistics Mdid="1.57345.1.0.1" Name="b" Width="8.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
      <dxl:ColumnStatistics Mdid="1.57345.1.0.0" Name="a" Width="8.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="true"/>
      <dxl:MDCast Mdid="3.1043.1.0;25.1.0" Name="text" BinaryCoercible="true" SourceTypeId="0.1043.1.0" DestinationTypeId="0.25.1.0" CastFuncId="0.0.0.0" CoercePathType="0"/>
      <dxl:GPDBScalarOp Mdid="0.98.1.0" Name="=" ComparisonType="Eq" ReturnsNullOnNullInput="true" IsNDVPreserving="false">
        <dxl:LeftType Mdid="0.25.1.0"/>
        <dxl:RightType Mdid="0.25.1.0"/>
        <dxl:ResultType Mdid="0.16.1.0"/>
        <dxl:OpFunc Mdid="0.67.1.0"/>
        <dxl:Commutator Mdid="0.98.1.0"/>
        <dxl:InverseOp Mdid="0.531.1.0"/>
        <dxl:HashOpfamily Mdid="0.1995.1.0"/>
        <dxl:LegacyHashOpfamily Mdid="0.7105.1.0"/>
        <dxl:Opfamilies>
          <dxl:Opfamily Mdid="0.1994.1.0"/>
          <dxl:Opfamily Mdid="0.1995.1.0"/>
          <dxl:Opfamily Mdid="0.2095.1.0"/>
          <dxl:Opfamily Mdid="0.2229.1.0"/>
          <dxl:Opfamily Mdid="0.4017.1.0"/>
          <dxl:Opfamily Mdid="0.4056.1.0"/>
          <dxl:Opfamily Mdid="0.7105.1.0"/>
          <dxl:Opfamily Mdid="0.10018.1.0"/>
          <dxl:Opfamily Mdid="0.10022.1.0"/>
        </dxl:Opfamilies>
      </dxl:GPDBScalarOp>
    </dxl:Metadata>
    <dxl:Query>
      <dxl:OutputColumns>
        <dxl:Ident ColId="19" ColName="b" TypeMdid="0.1043.1.0" TypeModifier="104"/>
        <dxl:Ident ColId="1" ColName="a" TypeMdid="0.25.1.0"/>
        <dxl:Ident ColId="10" ColName="c" TypeMdid="0.25.1.0"/>
        <dxl:Ident ColId="11" ColName="d" TypeMdid="0.25.1.0"/>
      </dxl:OutputColumns>
      <dxl:CTEList/>
      <dxl:LogicalSelect>
        <dxl:Comparison ComparisonOperator="=" OperatorMdid="0.98.1.0">
          <dxl:Cast TypeMdid="0.25.1.0" FuncId="0.0.0.0">
            <dxl:ScalarSubquery ColId="21">
              <dxl:LogicalLimit>
                <dxl:SortingColumnList/>
                <dxl:LimitCount>
                  <dxl:ConstValue TypeMdid="0.20.1.0" Value="1"/>
                </dxl:LimitCount>
                <dxl:LimitOffset/>
                <dxl:LogicalProject>
                  <dxl:ProjList>
                    <dxl:ProjElem ColId="21" Alias="b">
                      <dxl:Ident ColId="19" ColName="b" TypeMdid="0.1043.1.0" TypeModifier="104"/>
                    </dxl:ProjElem>
                  </dxl:ProjList>
                  <dxl:LogicalConstTable>
                    <dxl:Columns>
                      <dxl:Column ColId="20" Attno="1" ColName="" TypeMdid="0.16.1.0"/>
                    </dxl:Columns>
                    <dxl:ConstTuple>
                      <dxl:Datum TypeMdid="0.16.1.0" Value="true"/>
                    </dxl:ConstTuple>
                  </dxl:LogicalConstTable>
                </dxl:LogicalProject>
              </dxl:LogicalLimit>
            </dxl:ScalarSubquery>
          </dxl:Cast>
          <dxl:ConstValue TypeMdid="0.25.1.0" Value="AAAAB21laA==" LintValue="1828233457"/>
        </dxl:Comparison>
        <dxl:LogicalProject>
          <dxl:ProjList>
            <dxl:ProjElem ColId="19" Alias="b">
              <dxl:FuncExpr FuncId="0.669.1.0" FuncRetSet="false" TypeMdid="0.1043.1.0" TypeModifier="104">
                <dxl:Cast TypeMdid="0.1043.1.0" FuncId="0.0.0.0">
                  <dxl:Ident ColId="2" ColName="b" TypeMdid="0.25.1.0"/>
                </dxl:Cast>
                <dxl:ConstValue TypeMdid="0.23.1.0" Value="104"/>
                <dxl:ConstValue TypeMdid="0.16.1.0" Value="true"/>
              </dxl:FuncExpr>
            </dxl:ProjElem>
          </dxl:ProjList>
          <dxl:LogicalJoin JoinType="Inner">
            <dxl:LogicalGet>
              <dxl:TableDescriptor Mdid="6.57345.1.0" TableName="foo" ExecuteAsUser="10" LockMode="1">
                <dxl:Columns>
                  <dxl:Column ColId="1" Attno="1" ColName="a" TypeMdid="0.25.1.0" ColWidth="8"/>
                  <dxl:Column ColId="2" Attno="2" ColName="b" TypeMdid="0.25.1.0" ColWidth="8"/>
                  <dxl:Column ColId="3" Attno="-1" ColName="ctid" TypeMdid="0.27.1.0" ColWidth="6"/>
                  <dxl:Column ColId="4" Attno="-2" ColName="xmin" TypeMdid="0.28.1.0" ColWidth="4"/>
                  <dxl:Column ColId="5" Attno="-3" ColName="cmin" TypeMdid="0.29.1.0" ColWidth="4"/>
                  <dxl:Column ColId="6" Attno="-4" ColName="xmax" TypeMdid="0.28.1.0" ColWidth="4"/>
                  <dxl:Column ColId="7" Attno="-5" ColName="cmax" TypeMdid="0.29.1.0" ColWidth="4"/>
                  <dxl:Column ColId="8" Attno="-6" ColName="tableoid" TypeMdid="0.26.1.0" ColWidth="4"/>
                  <dxl:Column ColId="9" Attno="-7" ColName="gp_segment_id" TypeMdid="0.23.1.0" ColWidth="4"/>
                </dxl:Columns>
              </dxl:TableDescriptor>
            </dxl:LogicalGet>
            <dxl:LogicalGet>
              <dxl:TableDescriptor Mdid="6.57351.1.0" TableName="bar" ExecuteAsUser="10" LockMode="1">
                <dxl:Columns>
                  <dxl:Column ColId="10" Attno="1" ColName="c" TypeMdid="0.25.1.0" ColWidth="8"/>
                  <dxl:Column ColId="11" Attno="2" ColName="d" TypeMdid="0.25.1.0" ColWidth="8"/>
                  <dxl:Column ColId="12" Attno="-1" ColName="ctid" TypeMdid="0.27.1.0" ColWidth="6"/>
                  <dxl:Column ColId="13" Attno="-2" ColName="xmin" TypeMdid="0.28.1.0" ColWidth="4"/>
                  <dxl:Column ColId="14" Attno="-3" ColName="cmin" TypeMdid="0.29.1.0" ColWidth="4"/>
                  <dxl:Column ColId="15" Attno="-4" ColName="xmax" TypeMdid="0.28.1.0" ColWidth="4"/>
                  <dxl:Column ColId="16" Attno="-5" ColName="cmax" TypeMdid="0.29.1.0" ColWidth="4"/>
                  <dxl:Column ColId="17" Attno="-6" ColName="tableoid" TypeMdid="0.26.1.0" ColWidth="4"/>
                  <dxl:Column ColId="18" Attno="-7" ColName="gp_segment_id" TypeMdid="0.23.1.0" ColWidth="4"/>
                </dxl:Columns>
              </dxl:TableDescriptor>
            </dxl:LogicalGet>
            <dxl:Comparison ComparisonOperator="=" OperatorMdid="0.98.1.0">
              <dxl:Ident ColId="1" ColName="a" TypeMdid="0.25.1.0"/>
              <dxl:Ident ColId="10" ColName="c" TypeMdid="0.25.1.0"/>
            </dxl:Comparison>
          </dxl:LogicalJoin>
        </dxl:LogicalProject>
      </dxl:LogicalSelect>
    </dxl:Query>
    <dxl:Plan Id="0" SpaceSize="80">
      <dxl:GatherMotion InputSegments="0,1,2" OutputSegments="-1">
        <dxl:Properties>
          <dxl:Cost StartupCost="0" TotalCost="883119.297846" Rows="1.000000" Width="32"/>
        </dxl:Properties>
        <dxl:ProjList>
          <dxl:ProjElem ColId="18" Alias="b">
            <dxl:Ident ColId="18" ColName="b" TypeMdid="0.1043.1.0" TypeModifier="104"/>
          </dxl:ProjElem>
          <dxl:ProjElem ColId="0" Alias="a">
            <dxl:Ident ColId="0" ColName="a" TypeMdid="0.25.1.0"/>
          </dxl:ProjElem>
          <dxl:ProjElem ColId="9" Alias="c">
            <dxl:Ident ColId="9" ColName="c" TypeMdid="0.25.1.0"/>
          </dxl:ProjElem>
          <dxl:ProjElem ColId="10" Alias="d">
            <dxl:Ident ColId="10" ColName="d" TypeMdid="0.25.1.0"/>
          </dxl:ProjElem>
        </dxl:ProjList>
        <dxl:Filter/>
        <dxl:SortingColumnList/>
        <dxl:Result>
          <dxl:Properties>
            <dxl:Cost StartupCost="0" TotalCost="883119.297727" Rows="1.000000" Width="32"/>
          </dxl:Properties>
          <dxl:ProjList>
            <dxl:ProjElem ColId="18" Alias="b">
              <dxl:FuncExpr FuncId="0.669.1.0" FuncRetSet="false" TypeMdid="0.1043.1.0" TypeModifier="104">
                <dxl:Cast TypeMdid="0.1043.1.0" FuncId="0.0.0.0">
                  <dxl:Ident ColId="1" ColName="b" TypeMdid="0.25.1.0"/>
                </dxl:Cast>
                <dxl:ConstValue TypeMdid="0.23.1.0" Value="104"/>
                <dxl:ConstValue TypeMdid="0.16.1.0" Value="true"/>
              </dxl:FuncExpr>
            </dxl:ProjElem>
            <dxl:ProjElem ColId="0" Alias="a">
              <dxl:Ident ColId="0" ColName="a" TypeMdid="0.25.1.0"/>
            </dxl:ProjElem>
            <dxl:ProjElem ColId="9" Alias="c">
              <dxl:Ident ColId="9" ColName="c" TypeMdid="0.25.1.0"/>
            </dxl:ProjElem>
            <dxl:ProjElem ColId="10" Alias="d">
              <dxl:Ident ColId="10" ColName="d" TypeMdid="0.25.1.0"/>
            </dxl:ProjElem>
          </dxl:ProjList>
          <dxl:Filter/>
          <dxl:OneTimeFilter/>
          <dxl:HashJoin JoinType="Inner">
            <dxl:Properties>
              <dxl:Cost StartupCost="0" TotalCost="883119.297683" Rows="1.000000" Width="32"/>
            </dxl:Properties>
            <dxl:ProjList>
              <dxl:ProjElem ColId="0" Alias="a">
                <dxl:Ident ColId="0" ColName="a" TypeMdid="0.25.1.0"/>
              </dxl:ProjElem>
              <dxl:ProjElem ColId="1" Alias="b">
                <dxl:Ident ColId="1" ColName="b" TypeMdid="0.25.1.0"/>
              </dxl:ProjElem>
              <dxl:ProjElem ColId="9" Alias="c">
                <dxl:Ident ColId="9" ColName="c" TypeMdid="0.25.1.0"/>
              </dxl:ProjElem>
              <dxl:ProjElem ColId="10" Alias="d">
                <dxl:Ident ColId="10" ColName="d" TypeMdid="0.25.1.0"/>
              </dxl:ProjElem>
            </dxl:ProjList>
            <dxl:Filter/>
            <dxl:JoinFilter/>
            <dxl:HashCondList>
              <dxl:Comparison ComparisonOperator="=" OperatorMdid="0.98.1.0">
                <dxl:Ident ColId="0" ColName="a" TypeMdid="0.25.1.0"/>
                <dxl:Ident ColId="9" ColName="c" TypeMdid="0.25.1.0"/>
              </dxl:Comparison>
            </dxl:HashCondList>
            <dxl:TableScan>
              <dxl:Properties>
                <dxl:Cost StartupCost="0" TotalCost="882688.296944" Rows="1.000000" Width="16"/>
              </dxl:Properties>
              <dxl:ProjList>
                <dxl:ProjElem ColId="0" Alias="a">
                  <dxl:Ident ColId="0" ColName="a" TypeMdid="0.25.1.0"/>
                </dxl:ProjElem>
                <dxl:ProjElem ColId="1" Alias="b">
                  <dxl:Ident ColId="1" ColName="b" TypeMdid="0.25.1.0"/>
                </dxl:ProjElem>
              </dxl:ProjList>
              <dxl:Filter>
                <dxl:SubPlan TypeMdid="0.16.1.0" SubPlanType="ScalarSubPlan">
                  <dxl:TestExpr/>
                  <dxl:ParamList>
                    <dxl:Param ColId="1" ColName="b" TypeMdid="0.25.1.0"/>
                  </dxl:ParamList>
                  <dxl:Result>
                    <dxl:Properties>
                      <dxl:Cost StartupCost="0" TotalCost="0.000150" Rows="1.000000" Width="8"/>
                    </dxl:Properties>
                    <dxl:ProjList>
                      <dxl:ProjElem ColId="21" Alias="ColRef_0021">
                        <dxl:ConstValue TypeMdid="0.16.1.0" Value="true"/>
                      </dxl:ProjElem>
                    </dxl:ProjList>
                    <dxl:Filter/>
                    <dxl:OneTimeFilter/>
                    <dxl:Result>
                      <dxl:Properties>
                        <dxl:Cost StartupCost="0" TotalCost="0.000150" Rows="1.000000" Width="8"/>
                      </dxl:Properties>
                      <dxl:ProjList>
                        <dxl:ProjElem ColId="20" Alias="b">
                          <dxl:Ident ColId="20" ColName="b" TypeMdid="0.1043.1.0" TypeModifier="104"/>
                        </dxl:ProjElem>
                      </dxl:ProjList>
                      <dxl:Filter>
                        <dxl:Comparison ComparisonOperator="=" OperatorMdid="0.98.1.0">
                          <dxl:Cast TypeMdid="0.25.1.0" FuncId="0.0.0.0">
                            <dxl:Ident ColId="20" ColName="b" TypeMdid="0.1043.1.0" TypeModifier="104"/>
                          </dxl:Cast>
                          <dxl:ConstValue TypeMdid="0.25.1.0" Value="AAAAB21laA==" LintValue="1828233457"/>
                        </dxl:Comparison>
                      </dxl:Filter>
                      <dxl:OneTimeFilter/>
                      <dxl:Limit>
                        <dxl:Properties>
                          <dxl:Cost StartupCost="0" TotalCost="0.000117" Rows="1.000000" Width="8"/>
                        </dxl:Properties>
                        <dxl:ProjList>
                          <dxl:ProjElem ColId="20" Alias="b">
                            <dxl:Ident ColId="20" ColName="b" TypeMdid="0.1043.1.0" TypeModifier="104"/>
                          </dxl:ProjElem>
                        </dxl:ProjList>
                        <dxl:Result>
                          <dxl:Properties>
                            <dxl:Cost StartupCost="0" TotalCost="0.000109" Rows="1.000000" Width="8"/>
                          </dxl:Properties>
                          <dxl:ProjList>
                            <dxl:ProjElem ColId="20" Alias="b">
                              <dxl:FuncExpr FuncId="0.669.1.0" FuncRetSet="false" TypeMdid="0.1043.1.0" TypeModifier="104">
                                <dxl:Cast TypeMdid="0.1043.1.0" FuncId="0.0.0.0">
                                  <dxl:Ident ColId="1" ColName="b" TypeMdid="0.25.1.0"/>
                                </dxl:Cast>
                                <dxl:ConstValue TypeMdid="0.23.1.0" Value="104"/>
                                <dxl:ConstValue TypeMdid="0.16.1.0" Value="true"/>
                              </dxl:FuncExpr>
                            </dxl:ProjElem>
                          </dxl:ProjList>
                          <dxl:Filter/>
                          <dxl:OneTimeFilter/>
                          <dxl:Result>
                            <dxl:Properties>
                              <dxl:Cost StartupCost="0" TotalCost="0.000001" Rows="1.000000" Width="1"/>
                            </dxl:Properties>
                            <dxl:ProjList>
                              <dxl:ProjElem ColId="19" Alias="">
                                <dxl:ConstValue TypeMdid="0.16.1.0" Value="true"/>
                              </dxl:ProjElem>
                            </dxl:ProjList>
                            <dxl:Filter/>
                            <dxl:OneTimeFilter/>
                          </dxl:Result>
                        </dxl:Result>
                        <dxl:LimitCount>
                          <dxl:ConstValue TypeMdid="0.20.1.0" Value="1"/>
                        </dxl:LimitCount>
                        <dxl:LimitOffset>
                          <dxl:ConstValue TypeMdid="0.20.1.0" Value="0"/>
                        </dxl:LimitOffset>
                      </dxl:Limit>
                    </dxl:Result>
                  </dxl:Result>
                </dxl:SubPlan>
              </dxl:Filter>
              <dxl:TableDescriptor Mdid="6.57345.1.0" TableName="foo" ExecuteAsUser="10" LockMode="1">
                <dxl:Columns>
                  <dxl:Column ColId="0" Attno="1" ColName="a" TypeMdid="0.25.1.0" ColWidth="8"/>
                  <dxl:Column ColId="1" Attno="2" ColName="b" TypeMdid="0.25.1.0" ColWidth="8"/>
                  <dxl:Column ColId="2" Attno="-1" ColName="ctid" TypeMdid="0.27.1.0" ColWidth="6"/>
                  <dxl:Column ColId="3" Attno="-2" ColName="xmin" TypeMdid="0.28.1.0" ColWidth="4"/>
                  <dxl:Column ColId="4" Attno="-3" ColName="cmin" TypeMdid="0.29.1.0" ColWidth="4"/>
                  <dxl:Column ColId="5" Attno="-4" ColName="xmax" TypeMdid="0.28.1.0" ColWidth="4"/>
                  <dxl:Column ColId="6" Attno="-5" ColName="cmax" TypeMdid="0.29.1.0" ColWidth="4"/>
                  <dxl:Column ColId="7" Attno="-6" ColName="tableoid" TypeMdid="0.26.1.0" ColWidth="4"/>
                  <dxl:Column ColId="8" Attno="-7" ColName="gp_segment_id" TypeMdid="0.23.1.0" ColWidth="4"/>
                </dxl:Columns>
              </dxl:TableDescriptor>
            </dxl:TableScan>
            <dxl:TableScan>
              <dxl:Properties>
                <dxl:Cost StartupCost="0" TotalCost="431.000025" Rows="1.000000" Width="16"/>
              </dxl:Properties>
              <dxl:ProjList>
                <dxl:ProjElem ColId="9" Alias="c">
                  <dxl:Ident ColId="9" ColName="c" TypeMdid="0.25.1.0"/>
                </dxl:ProjElem>
                <dxl:ProjElem ColId="10" Alias="d">
                  <dxl:Ident ColId="10" ColName="d" TypeMdid="0.25.1.0"/>
                </dxl:ProjElem>
              </dxl:ProjList>
              <dxl:Filter/>
              <dxl:TableDescriptor Mdid="6.57351.1.0" TableName="bar" ExecuteAsUser="10" LockMode="1">
                <dxl:Columns>
                  <dxl:Column ColId="9" Attno="1" ColName="c" TypeMdid="0.25.1.0" ColWidth="8"/>
                  <dxl:Column ColId="10" Attno="2" ColName="d" TypeMdid="0.25.1.0" ColWidth="8"/>
                  <dxl:Column ColId="11" Attno="-1" ColName="ctid" TypeMdid="0.27.1.0" ColWidth="6"/>
                  <dxl:Column ColId="12" Attno="-2" ColName="xmin" TypeMdid="0.28.1.0" ColWidth="4"/>
                  <dxl:Column ColId="13" Attno="-3" ColName="cmin" TypeMdid="0.29.1.0" ColWidth="4"/>
                  <dxl:Column ColId="14" Attno="-4" ColName="xmax" TypeMdid="0.28.1.0" ColWidth="4"/>
                  <dxl:Column ColId="15" Attno="-5" ColName="cmax" TypeMdid="0.29.1.0" ColWidth="4"/>
                  <dxl:Column ColId="16" Attno="-6" ColName="tableoid" TypeMdid="0.26.1.0" ColWidth="4"/>
                  <dxl:Column ColId="17" Attno="-7" ColName="gp_segment_id" TypeMdid="0.23.1.0" ColWidth="4"/>
                </dxl:Columns>
              </dxl:TableDescriptor>
            </dxl:TableScan>
          </dxl:HashJoin>
        </dxl:Result>
      </dxl:GatherMotion>
    </dxl:Plan>
  </dxl:Thread>
</dxl:DXLMessage>
